<?php
include_once "filtro_cabecera.php";
include_once "../funciones/funciones_php.php";
include_once "../funciones/code128.class.php";
?>
<html>
	<link rel="stylesheet" type="text/css" href="../css/plantilla.css" />
<body>
<?php

//Obtiene la cantidad de encomiendas de tipo factura que tiene una orden de flete
function getCantidadEncomienda($idOrden)
{
	//Encontrar cantidad de cajas, sobres, valijas
   $pg = sprintf("SELECT cantidad, id_encomienda, id_tipo_encomienda, num_factura
                     FROM orden_flete, encomienda
                     WHERE orden_flete.id_orden_flete = '%d'
					 AND encomienda.id_tipo_encomienda = 4
                     AND encomienda.id_orden_flete = orden_flete.id_orden_flete",
                     pg_escape_string($idOrden));

   $consulta = pg_query($pg) or die("ERROR");
                
   while( $reg = pg_fetch_array($consulta) )
   {
      $tipo_encomienda = $reg['id_tipo_encomienda'];
      if($tipo_encomienda == 4)
      {   
         $cantidad['factura']['cantidad'] = $reg['cantidad'];
         $cantidad['factura']['num_factura'] = $reg['num_factura'];
      }
   }		
	return $cantidad;
}

if( isset($_GET['fecha'] , $_GET['ciudad']) )
{
	 
	conectar();
   $fecha = $_GET['fecha'];
   $ciudad = $_GET['ciudad'];
	//Separa fecha
	list($dia, $mes, $anio) = explode("-",$fecha);
	
	if($ciudad == "todo")
	{
	 
		$sql1 = sprintf("SELECT destino.destino, orden_flete.id_orden_flete,(orden_flete.nombre_consignatario || ' ' || orden_flete.apellido_consignatario) as nombre_consignatario,
                        comuna.comuna, orden_flete.direccion_consignatario, comuna.id_ruta,
						(orden_flete.direccion_consignatario || ' ' || orden_flete.numero_direccion || ' ' || orden_flete.numero_depto) as direccion_consignatario
                FROM orden_flete, comuna, destino, detalle_encomienda, encomienda
                WHERE date_part('day',detalle_encomienda.fecha_finiquito) = '%d'
                AND date_part('month',detalle_encomienda.fecha_finiquito) = '%d'
                AND date_part('year',detalle_encomienda.fecha_finiquito) = '%d'
                AND detalle_encomienda.estado_llegada = '1'
                AND detalle_encomienda.estado_finiquito = '1'
                AND encomienda.id_encomienda = detalle_encomienda.id_encomienda
				    AND encomienda.id_tipo_encomienda = 4
                AND orden_flete.id_orden_flete = encomienda.id_orden_flete
				    AND orden_flete.id_tipo_servicio = 2
                AND comuna.id_comuna = orden_flete.id_comuna
				    AND destino.id_destino = comuna.id_destino
                GROUP BY destino.destino, orden_flete.id_orden_flete,(orden_flete.nombre_consignatario || ' ' || orden_flete.apellido_consignatario),
                         orden_flete.direccion_consignatario, comuna.comuna, comuna.id_ruta,
						 (orden_flete.direccion_consignatario || ' ' || orden_flete.numero_direccion || ' ' || orden_flete.numero_depto)
					 ORDER BY destino.destino ASC",
                pg_escape_string($dia),
                pg_escape_string($mes),
                pg_escape_string($anio));
		
	}
	else
	{

		$sql1 = sprintf("SELECT orden_flete.id_orden_flete,(orden_flete.nombre_consignatario || ' ' || orden_flete.apellido_consignatario) as nombre_consignatario,
                     comuna.comuna, orden_flete.direccion_consignatario, destino.destino, comuna.id_ruta,
						   (orden_flete.direccion_consignatario || ' ' || orden_flete.numero_direccion || ' ' || orden_flete.numero_depto) as direccion_consignatario
               FROM orden_flete, comuna, destino, detalle_encomienda, encomienda
               WHERE date_part('day',detalle_encomienda.fecha_finiquito) = '%d'
               AND date_part('month',detalle_encomienda.fecha_finiquito) = '%d'
               AND date_part('year',detalle_encomienda.fecha_finiquito) = '%d'
               AND detalle_encomienda.estado_llegada = '1'
               AND detalle_encomienda.estado_finiquito = '1'
               AND encomienda.id_encomienda = detalle_encomienda.id_encomienda
               AND orden_flete.id_orden_flete = encomienda.id_orden_flete
				   AND encomienda.id_tipo_encomienda = 4
				   AND destino.id_destino = '%s'
				   AND comuna.id_destino = destino.id_destino
               AND orden_flete.id_comuna = comuna.id_comuna
				   AND orden_flete.id_tipo_servicio = 2
               GROUP BY destino.destino, orden_flete.id_orden_flete,(orden_flete.nombre_consignatario || ' ' || orden_flete.apellido_consignatario),
                        comuna.comuna, orden_flete.direccion_consignatario, comuna.id_ruta,
						(orden_flete.direccion_consignatario || ' ' || orden_flete.numero_direccion || ' ' || orden_flete.numero_depto)
					ORDER BY destino.destino",
               pg_escape_string($dia),
               pg_escape_string($mes),
               pg_escape_string($anio),
               pg_escape_string($ciudad));
	}

   $consulta1 = pg_query($sql1)or die("Error");
   $numFilas = pg_num_rows($consulta1);
	
	//Muestra los resultados en una tabla
   if($numFilas > 0)
	{	
      $i = 0;
		$count = 0;
		//Ciclo que recorre cada orden de flete
      while ($reg1 = pg_fetch_array($consulta1))
		{
				
            $orden_flete = $reg1['id_orden_flete'];
            $consignatario = $reg1['nombre_consignatario'];
				$direccion = $reg1['direccion_consignatario'];
            $comuna = $reg1['comuna'];
				$destino = $reg1['destino'];
				$ruta = $reg1['id_ruta'];
				$cantidad = getCantidadEncomienda($orden_flete);
                
				//Si llego a 10 registros o cambia de destino, hace un salto de pagina y crea el encabezado nuevamente
				if( (($count%10) == 0) || $destino_actual != $destino   )
				{	
					//Reinicia contador
					$count = 0;
					//Actualiza nuevo destino
					$destino_actual = $destino;
					
					//Si NO es el inicio cierra la tabla anterior
					if($i != 0)
						echo "</table>";
					
					//Si es el inicio no hace el salto de pagina
					if($i == 0)
						$idCapa = " ";
					else
						$idCapa = "salto_pagina_anterior";
					
		
					echo "<div id=" . $idCapa . ">
						  <div align=center>MANIFIESTO DE FACTURAS</div><br />
						  <div align=right>Fecha: " . $fecha . "</div><br>
						  <div align=left>Destino: " . $destino_actual . "</div>
						  <table border=1 cellspacing=0>
					     <tr>
				        <th>Codigo</th>
						  <th>Consignatario</th>
						  <th>Facturas</th>
						  <th>Numero de Factura</th>
						  <th>Direccion</th>
						  <th>Comuna</th>
						  <th>Ruta</th>
						  </tr>
						  </div>";
				}
				
				echo "  <tbody>
                    <tr>
						  <td>&nbsp;" . $orden_flete . "</td>
                    <td>&nbsp;" . $consignatario . "</td>
                    <td>&nbsp;" . $cantidad['factura']['cantidad'] . "</td>
                    <td>&nbsp;" . $cantidad['factura']['num_factura'] . "</td>
					     <td>&nbsp;" . $direccion . "</td>
                    <td>&nbsp;" . $comuna . "</td>
						  <td>&nbsp;" . $ruta . "</td>
                    </tr>
                    </tbody>";
				$i++;
				$count++;
        }
        echo "</table>";
   }
   else
      echo "<p align=center>No se encontraron envios para esa fecha y destino</p>";
		
	pg_close();
}
else
   echo "Faltan datos para completar la consulta.";
?>
<script>window.print();</script>
</body>
</html>  

